\documentclass[12pt,twocolumn,twoside]{IEEEtran}

\usepackage{graphicx,cite,url}

\renewcommand{\topfraction}{0.98}
%\setcounter{\topnumber}{4}
\renewcommand{\textfraction}{0.02}
\renewcommand{\bottomfraction}{0.98}
\renewcommand{\floatpagefraction}{0.9}
\renewcommand{\thesubsection}{\arabic{subsection}}
\renewcommand{\thesection}{\arabic{section}}
\renewcommand{\thefootnote}{a}
\hyphenation{op-tical net-works semi-conduc-tor IEEEtran}


\begin{document}

% paper title
\title{An Adaptive Neuronal AQM for a Stable and Efficient Internet}
\author{\authorblockN{Jinsheng Sun\authorrefmark{1}, Sammy
Chan\authorrefmark{2}, Fan Li\authorrefmark{2}, King-Tim Ko\authorrefmark{2},
Guanrong Chen\authorrefmark{2} and Moshe Zukerman\authorrefmark{2}}\\
\authorblockA{\authorrefmark{1}Department of
Automation, Nanjing University of Science and Technology, \\
Nanjing, 210094, China. \\
Email:jssun67@yahoo.com.cn} \\
\authorblockA{\authorrefmark{2} Department of Electronic Engineering, City University of Hong Kong,\\
Tat Chee Avenue, Kowloon Tong, Hong Kong.} \\
Email:\{eeschan, fanli3, eektko, eegchen, mzu\}@cityu.edu.hk}

% use only for invited papers
%\specialpapernotice{(Invited Paper)}

% make the title area
\maketitle

\begin{abstract}
Recognizing that Internet congestion control is a complex nonlinear
system, we propose here to use an intelligent controller to improve
its stability and performance. Specifically, we propose a new,
powerful, easy-to-configure and robust active queue management (AQM)
scheme, called adaptive neuronal AQM (AN-AQM). We present extensive
simulation results for AN-AQM, over a wide range of network
conditions and scenarios, to show its advantages. We
demonstrate its robustness in various realistic environments
involving bursty HTTP connections and non-responsive UDP connections;
as well as its insensitivity to parameter setting and misconfiguration.
Through comparison we demonstrate the superiority of AN-AQM over well-known
AQM schemes in achieving faster convergence to queue length target,
with smaller queue length jitter. Our results look so promising that
the methodology may eventually be able to lead to a stable and efficient
Internet.
\end{abstract}

% no keywords

% For peer review papers, you can put extra information on the cover
% page as needed:
% \begin{center} \bf series EDICS Category: 3-BBND \end{center}
%
% for peerreview papers, inserts a page break and creates the second title.
% Will be ignored for other modes.
%\IEEEpeerreviewmaketitle

\section{Introduction}
Internet congestion control aims to achieve efficient resource
utilization, acceptable packet loss and stable operation. At the
early stage of the Internet, the problem of congestion was only
alleviated by the end-to-end Transmission Control Protocol (TCP)
\cite{RFC793} and there was no congestion control mechanism embedded
within the network. TCP dynamically adjusts its congestion window based
on the Additive Increasing Multiplicative Decreasing (AIMD) algorithm
to limit the number of packets that can be sent at each round trip
propagation time (RTT). Inside the network, in each router's ingress
buffer, the simple drop tail (DT) approach was used: incoming data
packets form a first-come-first-serve queue and they are
discarded when they arrive at a full buffer. DT was the simplest
queue management approach but can easily led to TCP synchronization
problem \cite{Sync}, in which different TCP connections experience
packet loss at the same time and decrease their sending rates
simultaneously. As a result, the network became unstable and exhibited
a high packet loss rate. Therefore, active queue management (AQM) was
proposed at link side to enhance the control of congestion. AQM improves
the network performance by dropping packets before buffer overflows so
as to provide early congestion notification to TCP.

Random Early Detection (RED) \cite{RFC2309} is a recommended
realization of AQM. RED monitors the average queue size and drops
the incoming packet at a certain probability once the average
queue size exceeds a pre-defined threshold. This dropping probability
is adjusted according to the average queue size: the larger the queue
size is, the higher is the dropping probability. Using control
theory is another efficient way to design TCP/AQM-based congestion control.
Hollot {\it et al.} \cite{Hollot2001} proposed a PI controller and
gave guidelines to design stable PI controllers. Ryu {\it et al.}
\cite{Ryu2003} proposed a PID controller for congestion management.
Compared with PI controller, PID adds a derivative part which could
predict the incipient of congestion. PI/PID controllers improve the
performance by decoupling the dropping probability and congestion
measurement. Also, such closed-loop feedback control mechanisms
improve the stability of the system.

AQM has been a very active research area, where many AQM schemes have
been proposed (see \cite{LQR,REM,DRED,Pole,Blue,ARED,
RED,AVQ,nonlinear,large-delay,PD-RED,PD,JSUN,Green,RAQM} and
references therein). However, the many published AQM proposals
fail to achieve optimal congestion control operation because they
use fixed parameters, which is not sufficiently adapted to the
time-varying network state. Accordingly, an intelligent AQM controller
is preferable for the Internet, which is complex, highly nonlinear and
time varying.

In the past few decades, extensive research has been carried out
in neural networks, which show proactive aspect of adaptive control.
Neural networks have a remarkable ability of self-study and
self-adaptation. They have been successfully applied
and proven effective in many industrial systems, such as
\cite{Rigators2008, Suresh2008, Theodoridis2010, Coward2001}.
More importantly, neural systems show great suitability in controlling
nonlinear systems. Since Internet is sophisticated and nonlinear,
neural networks would be a suitable technique for controlling congestion
in the Internet. Recently, Hariri and Sadati \cite{Hariri2007}
proposed NN-RED, which improves RED by using a neural network as a
prediction tool to determine the future values of the queue size and
dropping probability of incoming packets. Another advantage of NN-RED
is that it involves less parameters than RED.

Motivated by these examples, we propose in this paper\footnote{A
conference version of this paper has been presented in IFIP
Networking 2007 \cite{sun-IFIP}.} a novel neuron-based AQM scheme.
It is called {\em Adaptive Neuronal AQM} (AN-AQM). We apply the
ideas of \cite{neuron_pid1,neuron_pid4}, where an adaptive neuronal
PID controller is designed for a multi-model plant. Extensive
simulation results over a wide range of scenarios show that AN-AQM
can be used to control the queue length and achieves fast queue-length
convergence to a desirable target with small queue length jitter.
These performance attributes are still maintained following significant
changes to network conditions, even for long delay networks. It
will be demonstrated by extensive simulations that AN-AQM is more
efficient and stable than other well-known AQM schemes.

The remainder of the paper is organized as follows. In Section
\ref{scheme}, we describe the AN-AQM scheme in details. Then, in
Section \ref{Simu}, we present simulation results to demonstrate
that AN-AQM is effective and robust, and it outperforms other well-known
AQM schemes. In Section \ref{Robust}, we show the parameter
robustness of AN-AQM. Finally, we conclude the paper in Section
\ref{concl}.

\section{The AN-AQM Scheme}
\label{scheme}

The AN-AQM scheme is described by
\begin{equation}
\label{pk}
   p(k) = p(k-1)+ \Delta p(k)
\end{equation}
where $p(k)$ is the packets dropping probability and $\Delta p(k)$
is the increment of the packets dropping probability. In our
simulations, to ensure that the value of $p(k)$ is within [0,1],
$p(k)$ in equation (\ref{pk}) is truncated to 1 (or 0) if the value
obtained for it is higher than 1 (or lower than 0).

The purpose of $\Delta p(k)$ is to adjust $p(k)$ according to the
congestion level. For a router, there are two basic variables which
can reflect the congestion level. One is queue length error and the
other is input rate. When the queue length error becomes bigger,
it means that congestion in the router becomes more severe, and the
difference of queue length error and second order difference of
queue length error reflect the trend of the traffic. The input rate
provides similar information about the congestion level. Thus, we use
these six variables as input to determine $\Delta p(k)$:
\begin{equation}
  \Delta p(k) =  K \sum_{i=1}^{6}w_i(k)x_i(k)
\end{equation}
in which $K>0$ is the neuron gain;
$x_i(k)(i=1,2,...,6)$ denote the neuron inputs, and $w_i(k)$ is the
connection weight of $x_i(k)$ determined by the learning rule.

Let
\begin{equation}
 e(k)=q(k)-Q_T
\end{equation}
denote the queue length error, where $q(k)$ is the queue length and
$Q_T$ is the target queue length. Let
\begin{equation}
 \gamma(k)=\frac{r(k)}{C}-1
\end{equation}
denote the normalized rate error, where $r(k)$ is the input rate
of the buffer at the bottleneck link and $C$ is the capacity of
the bottleneck link. The inputs of AN-AQM scheme
are $x_1(k)=e(k)-e(k-1)$, $x_2(k)=e(k)$,
$x_3(k)=e(k)-2e(k-1)+e(k-2)$, $x_4(k)=\gamma(k)-\gamma(k-1)$,
$x_5(k)=\gamma(k)$, and
$x_6(k)=\gamma(k)-2\gamma(k-1)+\gamma(k-2)$. According to Hebb
\cite{neuron_pid1}, the learning rule for a neuron is formulated as
\begin{equation}
  w_i(k+1) = w_i(k)+d_iy_i(k)
\end{equation}
where $d_i>0$ is the learning rate and $y_i(k)$ is the learning
strategy. The associative learning strategy given in
\cite{neuron_pid1} is as follows:

\begin{equation}
  y_i(k) = e(k) p(k) x_i(k)
\end{equation}
where $e(k)$ is used as teacher's signal. This implies that an
adaptive neuron, which uses integrated Hebbian Learning and
Supervised Learning, makes actions and reflections to the unknown
outsides with associative search. It means that the neuron
self-organizes the surrounding information under supervision of the
teacher's signal $e(k)$. It also implies a critic on the neuronal
actions.

The AN-AQM scheme is based on the following nine parameters. Zhang
{\em et al.} \cite{neuron_pid4} showed that an adaptive neuron
system is very robust and adaptable, so the choice of values of $K$,
$d_i (i=1,2,...,6)$ is not very critical. This is also confirmed by
simulation results presented in Section \ref{Robust}. The values of
$K$ and $d_i (i=1,2,...,6)$ suggested below are chosen based on trial
and error by a few simulations on model (1-6) above. The initial
values of $w_i (i=1,2,...,6)$ do not affect the performance
significantly; we use: $w_i=0.00001, (i=1,2,...,6)$. Also, we
set $q(-2), q(-1), q(0), \gamma(-2), \gamma(-1)$ and $\gamma(0)$ to
$0$.
\begin{enumerate}
\item Sampling time interval $T$; an appropriate
value is $T = 0.001s$. \item Target queue length $Q_T$; this
parameter decides the steady-state queue length value, which will
affect the utilization
 and the average queueing delay. A high target
will improve link utilization, but will also increase the queueing
delay. The target queue length $Q_T$ should be selected according
the Quality of Service (QoS) requirements.
\item The neuron gain $K$; a suggested value is $K=0.01$.
\item The learning rate $d_1$; a suggested value is $d_1=0.00001$.
\item The learning rate $d_2$; a suggested value is $d_2=0.00001$.
\item The learning rate $d_3$; a suggested value is $d_3=0.00001$.
\item The learning rate $d_4$; a suggested value is $d_4=0.0001$.
\item The learning rate $d_5$; a suggested value is $d_5=0.0001$.
\item The learning rate $d_6$; a suggested value is $d_6=0.0001$.
\end{enumerate}

\section{Performance Evaluation and Comparison}
\label{Simu} In this section, we report the results of extensive
simulations using \textit{ns2} \cite{NS} to demonstrate the performance
attributes of AN-AQM and its superiority over other AQM schemes
such as ARED \cite{ARED}, PI \cite{Hollot2001} and REM \cite{REM}. Our
simulations and comparisons will cover the following attributes:
\begin{enumerate}
\item the ability to control the queue length to quickly converge to
a given queue length target; \item robustness to traffic loading
under fixed and dynamic scenarios, to bottleneck link capacity, and
to impact of traffic noise (UDP and HTTP); \item robustness to
Round Trip Propagation Time (RTPT) and effectiveness for a long
delay network; \item performance under multiple bottleneck
topology.
\end{enumerate}

Many of the above attributes that we achieve for AN-AQM are the
results of its first attribute, namely, stabilizing queue length at
a target value $Q_T$. As a matter of fact, if we can control the
queue to stay close to a desirable target, we can achieve high
throughput, predictable delay and low delay jitter. The low delay
jitter also enables meeting QoS requirements for real-time services
especially when the queue length target is achieved independently of
traffic conditions \cite{QoS}.

\subsection{Single bottleneck topology}

The single bottleneck network topology used in the simulation is
shown in Figure \ref{topology}. The only bottleneck link is the
Common Link between the two routers. The other links are assumed to
have sufficient capacity to carry their traffic. Router B uses the
tested AQM scheme (AN-AQM, ARED, PI, REM) and Router C uses
Drop-Tail. The sources use TCP/Reno. In the following simulations,
unless mentioned otherwise, the following parameters are used: the
packet size is 1000 bytes, the common link capacity is 45 Mb/s, the
round trip propagation delay is 80 ms, the buffer size is 900
packets (twice of the bandwidth-delay product of the network). The TCP
connections always have data to send as long as their congestion
windows permit. The receiver's advertised window size is set
sufficiently large so that TCP connections are not constrained at
the destination. The ack-every-packet strategy is used at the TCP
receivers. The target queue length is set at 300 packets for all AQM
schemes. For REM, the default parameters of \cite{REM} are used:
$\phi=1.001$, $\alpha=0.1$, $\gamma=0.001$, sampling interval is 2
ms. For PI controller, the default parameters in \textit{ns2} are
used: $a = 0.00001822$, $b = 0.00001816$ and the sampling frequency
$w = 170$. For ARED, the parameters are set as: $min_{th}=15$,
$max_{th}=585$ and $w_q=0.002$, and other parameters are set the
same as in \cite{ARED}: $\alpha =0.01$, $\beta =0.9$,
$interval$ $time=0.5 s$. The parameters of AN-AQM are set as specified in the
previous section.

\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{topology_figure}}
\end{center}
 \caption{The single bottleneck topology }
 \label{topology}
\end{figure}

\subsection{Performance for a constant number of TCP connections}

In this simulation experiment, we test whether AN-AQM can
 control and stabilize the queue length
 at an arbitrarily chosen target for different loads and
link capacities, and we compare the AN-AQM with REM, ARED and PI,
, and all schemes are tuned to have their best performances.

Figures \ref{500} and \ref{1500} present the instantaneous queue
lengths for 500 and 1500 TCP connections, respectively. All sources
start data transmission at time 0. One can see that AN-AQM is faster
than the other three AQM schemes to converge to the target queue
length $Q_T$, and the queue length jitter of AN-AQM is also lower
than that of the other three AQM schemes.

\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom2}}
\end{center}
 \caption{Queue length variations for 500 TCP connections: (a) AN-AQM (b) ARED (c) PI (d) REM }
 \label{500}
\end{figure}

\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom4}}
\end{center}
 \caption{Queue length variations for 1500 TCP connections: (a) AN-AQM (b) ARED (c) PI (d) REM }
 \label{1500}
\end{figure}

In order to further demonstrate this ability of AN-AQM, we set $Q_T$
at 50 and 500 for 800 TCP connections. The results are depicted in
Figures \ref{ref50} and \ref{ref500}, respectively. Again, one can
see that AN-AQM is indeed successful in controlling the queue length
at any arbitrary chosen target. From Figure \ref{ref50}, one can
observe that under utilization exhibited by ARED, PI and REM for
$Q_T= 50$, which demonstrates that in the case of low $Q_T$, AN-AQM
is more efficient than the other three AQM schemes and better
converges to $Q_T$.

\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom5}}
\end{center}
 \caption{Queue length variations for 800 TCP connections with the queue length target of 50: (a) AN-AQM
 (b) ARED (c) PI (d) REM }
 \label{ref50}
\end{figure}

\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom6}}
\end{center}
 \caption{Queue length variations for 800 TCP connections with the queue length target of 500: (a) AN-AQM
  (b) ARED (c) PI (d) REM }
 \label{ref500}
\end{figure}

In order to test the performance of AN-AQM for different link
capacities, we vary the capacity from 45 Mb/s to 15 Mb/s and to 115
Mb/s while the other parameters remain the same. The simulation
results for 800 TCP connections are given in Figures \ref{15M} and
\ref{115M}, respectively. Again, one can see that the queue length
is stable, which is consistent with the previous observations on the
superiority of AN-AQM.


\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom7}}
\end{center}
 \caption{Queue length variations for 800 TCP connections with the bottleneck link capacity of 15 Mb/s: (a) AN-AQM
  (b) ARED (c) PI (d) REM }
 \label{15M}
\end{figure}

\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom8}}
\end{center}
 \caption{Queue length variations for 800 TCP connections with the bottleneck link capacity of 115 Mb/s: (a) AN-AQM
  (b) ARED (c) PI (d) REM }
 \label{115M}
\end{figure}

\subsection{Performance for different round trip propagation time}

We now investigate the impact of round trip propagation time
(RTPT) on the performance indices. Two simulations have been
performed. In both there are 800 TCP connections with different
RTPTs. In the first, the RTPTs are uniformly distributed between
20 and 140 ms, and in the second, they are uniformly distributed
between 150 and 250 ms. Figures \ref{RTPT20} and \ref{RTPT150}
present the queue lengths for these two simulations, respectively.
The results demonstrate that AN-AQM is still effective to
stabilize queue length around the target clearly better than the
other AQM schemes with TCP connections having different RTPTs.


\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom9}}
\end{center}
 \caption{Queue length variations for 800 TCP connections with the RTPT distributed randomly between 20 ms to 140 ms:
 (a) AN-AQM (b) ARED (c) PI (d) REM }
 \label{RTPT20}
\end{figure}

\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom10}}
\end{center}
 \caption{Queue length variations for 800 TCP connections with the RTPT distributed randomly between 150 ms to 250 ms:
  (a) AN-AQM (b) ARED (c) PI (d) REM }
 \label{RTPT150}
\end{figure}

\subsection{Performance for TCP connections which randomly start and stop}

In this experiment, we investigate the impact of TCP connections
which randomly start and stop on the performance indices. We first
present results of two simulation runs, where we dynamically vary the
number of active TCP connections. The number of TCP connections is
varied from 500 to 1500 in the first and from 1500 to 500 in the
second. In each of the runs, a group of 100 connections start (or
stop), at the same time, in each 10 seconds interval. The
instantaneous queue lengths are plotted in Figures \ref{incA} and
\ref{decA}, respectively. One can clearly see that AN-AQM is able to
stabilize the queue length around the control target, better than
the other AQM schemes, when the number of connections dynamically
varies over time.

\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom13}}
\end{center}
 \caption{Queue length variations for number TCP connections increasing abruptly from 500 to 1500:
 (a) AN-AQM (b) ARED (c) PI (d) REM }
 \label{incA}
\end{figure}

\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom14}}
\end{center}
 \caption{Queue length variations for number TCP connections decreasing abruptly from 1500 to 500:
 (a) AN-AQM (b) ARED (c) PI (d) REM }
 \label{decA}
\end{figure}

Next, we perform two simulations involving random start and stop
times, thus simulating staggered connection setup and termination.
In the first simulation, the initial number of connections is set to
300 and, in addition, 1200 connections have their start-time
uniformly distributed over a period of 100 seconds. In the second
simulation, the initial number of connections is set to 1500, out of
which 1200 connections have their stop-time uniformly distributed
over a period 100 seconds. The instantaneous queue lengths are
plotted in Figures \ref{incR} and \ref{decR}, respectively. One can
clearly see that AN-AQM is able to stabilize the queue length around
the control target, better than the other AQM schemes.

\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom11}}
\end{center}
 \caption{Queue length variations for number TCP connections increasing randomly from 300 to 1500:
 (a) AN-AQM (b) ARED (c) PI (d) REM }
 \label{incR}
\end{figure}

\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom12}}
\end{center}
 \caption{Queue length variations for number TCP connections decreasing randomly from 1500 to 300:
 (a) AN-AQM (b) ARED (c) PI (d) REM }
 \label{decR}
\end{figure}

\subsection{Performance for a long-delay network}

Simulations in \cite{large-delay} have shown that
AQMs, such as PI, RED and REM, are unstable when RTPT is 400 ms. In
this experiment, we investigate the performance of AN-AQM for a
long-delay network. In the simulation, there are 800 TCP connections
and the RTPTs are 500 ms. Figure \ref{long} presents the queue lengths
for the four AQM schemes. The results demonstrate that AN-AQM is
still effective in stabilizing the queue length around the target
for TCP connections with long RTPTs, where PI is stable (but not as
stable as AN-AQM). However, ARED and REM are unstable.


\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom15}}
\end{center}
 \caption{Queue length variations for 800 TCP connections with the RTPT of 500 ms: (a) AN-AQM
 (b) ARED (c) PI (d) REM }
 \label{long}
\end{figure}


\subsection{Performance for TCP connections mixed with UDP flows}

We now investigate the performance effects of UDP flows
disturbances. We have performed two simulation experiments. In the first
simulation, the 800 TCP connections are mixed with 100 UDP flows, in
the second they are mixed with 800 UDP flows. The RTPTs of TCP
connections are uniformly distributed between 50 and 500 ms, and the
propagation delay of the UDP flows are uniformly distributed between
30 and 250 ms. Each of the UDP sources follows an exponential ON/OFF
traffic model, both idle and burst times have a mean of 500 ms.
The packet size is set at 500 bytes, and the sending rate during
on-time is 64 kb/s. In Figures \ref{UDP100} and \ref{UDP800}, we
present the queue lengths as they vary with time. The results
clearly demonstrate the robustness of AN-AQM and its superior
performance over the other AQMs.

\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom17}}
\end{center}
 \caption{Queue length variations for 800 TCP connections in the presence of additional 100 UDP flows: (a) Neuron (b) ARED (c) PI (d) REM }
 \label{UDP100}
\end{figure}

\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom20}}
\end{center}
 \caption{Queue length variations for 800 TCP connections in the presence of additional 800 UDP flows: (a) AN-AQM
 (b) ARED (c) PI (d) REM }
 \label{UDP800}
\end{figure}

\subsection{Performance for TCP connections mixed with HTTP connections}

In this simulation experiment, we investigate the performance
impact of disturbances of additional HTTP connections. We have
considered 800 TCP connections with different RTPTs. These RTPTs
are uniformly distributed between 50 and 500 ms. These TCP
connections are mixed with 400 HTTP connections (sessions), and
the number of pages per session is 250. The RTPTs of the HTTP
connections are uniformly distributed between 50 and 300 ms. Figure
\ref{HTTP} presents the queue lengths for this simulation. The
results demonstrate that AN-AQM is still effective to stabilize
queue length around the target even if the TCP connections are
subject to HTTP disturbances.

\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom21a}}
\end{center}
 \caption{Queue length variations for 800 TCP connections in the presence of additional HTTP flows: (a) AN-AQM (b) ARED (c) PI (d) REM}
 \label{HTTP}
\end{figure}

\subsection{Performance for TCP connections
mixed with both HTTP and UDP connections}

In this simulation experiment, we investigate the performance impact
of the disturbances caused by HTTP as well as UDP connections. We
have considered 800 TCP connections with different RTPTs. These
RTPTs are uniformly distributed between 50 and 500 ms. The bursty
HTTP traffic involves 400 sessions (connections), and the number of
pages per session is 250. The RTPTs of the HTTP connections are
uniformly distributed between 50 and 300 ms. There are 400 UDP flows
with propagation delay uniformly distributed between 30 to 250 ms.
Each of the UDP sources follows an exponential ON/OFF traffic model,
both idle and burst times have a mean of 500 ms. The packet
size is set at 500 bytes, and the sending rate during on-time is 64
kb/s. Figure \ref{HTTP+UDP} provides the queue lengths, which
demonstrate that AN-AQM is more robust than the other three AQM
schemes.


 \begin{figure}[thb]
 \begin{center}
 %%%%%%%%%%
 \scalebox{0.6}{\includegraphics{Fig_infocom21}}
 \end{center}
  \caption{Queue length variations for 800 TCP connections in the presence of additional UDP and HTTP flows:
  (a) Neuron (b) ARED (c) PI (d) REM }
  \label{HTTP+UDP}
 \end{figure}


\subsection{Multiple bottlenecks }
Here, we extend the simple single bottleneck topology to a setting of
multiple bottlenecks. We consider the network topology presented in
Figure \ref{Mtopology}. There are two bottlenecks in this topology.
One is between Routers B and C, and the other is between Routers D
and E. The link capacity of the two bottlenecks is 45 Mb/s and the
capacity of other links is 100 Mb/s. There are three traffic groups.
The first group has $N$ TCP connections traversing all bottleneck
links, the second group has $N_1$ TCP connections traversing the
bottleneck link between Routers B and C, and the third group has
$N_2$ TCP connections traversing the bottleneck link between Routers
D and E. The RTPTs of the first group are 80 ms, and for the second
and third groups, they are 100 ms and 150 ms, respectively. Two
simulation tests have been performed. In the first, $N=500$,
$N_1=200$, and $N_2=200$, and in the second, $N=100$, $N_1=800$, and
$N_2=400$. Figures \ref{multi1} and \ref{multi2} present the queue
lengths for the first case and Figures \ref{multi3} and
\ref{multi4} present the queue lengths for the second. The results
demonstrate that AN-AQM is effective in stabilizing the queue length
around the target for TCP connections in the multiple bottleneck
network, it converges faster than the other three AQM schemes, and
its queue length jitter is also smaller than the others.

\begin{figure}
\begin{center}
%%%%%%%%%%
\scalebox{0.45}{\includegraphics{multi_topology}}
\end{center}
 \caption{The multiple bottleneck network topology }
 \label{Mtopology}
\end{figure}


\begin{figure}
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom30}}
\end{center}
 \caption{Queue length variations of Router B in multiple bottleneck network for $N=500$, $N_1=200$, and $N_2=200$:
 (a) Neuron (b) ARED (c) PI (d) REM}
 \label{multi1}
\end{figure}

\begin{figure}
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom31}}
\end{center}
 \caption{Queue length variations of Router D in multiple bottleneck network for $N=500$, $N_1=200$, and $N_2=200$:
 (a) Neuron (b) ARED (c) PI (d) REM}
 \label{multi2}
\end{figure}

\begin{figure}
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom34}}
\end{center}
 \caption{Queue length variations of Router B in multiple bottleneck network for $N=100$, $N_1=800$, and $N_2=400$:
 (a) Neuron (b) ARED (c) PI (d) REM}
 \label{multi3}
\end{figure}

\begin{figure}
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom35}}
\end{center}
 \caption{Queue length variations of Router D in multiple bottleneck network for $N=100$, $N_1=800$, and $N_2=400$:
 (a) Neuron (b) ARED (c) PI (d) REM}
 \label{multi4}
\end{figure}

\section{Parameter robustness}
\label{Robust} In this section, we examine the robustness and
sensitivity of AN-AQM to its own parameters setting. To verify the
robustness of AN-AQM, we perform a set of simulations using again
the single bottleneck network topology shown in Figure
\ref{topology}. The parameters we used are as follows. The common
link capacity is 45 Mb/s. The buffer size at the bottleneck router
is set to 900 packets, and the queue length target is set at
$Q_T=300$. The traffic consists of 800 greedy TCP connections. The
RTPTs of the TCP connections is uniformly distributed between 50 and
500 ms. The parameters of AN-AQM are set as follows: sample time
interval $T=0.001s$, learning rates $d_1=0.00001$,
$d_2=0.00001$, $d_3=0.00001$, $d_4=0.0001$, $d_5=0.0001$,
$d_6=0.0001$, and the neuron gain $K=0.01$. To
test the robustness of AN-AQM to its own parameter setting, we
conducted many experiments. In each experiment, we fix all parameters
except one, and measure the sensitivity and the performance of
AN-AQM resulting from changing the single parameter. Before we start
changing the different parameters, we obtained by simulation the
queue length for the original default parameters and we present the
results in Figure \ref{default}. This result will then be used as
benchmark against the new results we will obtain by changing the
different parameters.

\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom22a}}
\end{center}
 \caption{Queue length variations for 800 TCP connections with default control parameters}
 \label{default}
\end{figure}

\subsection{Sensitivity to the neuron gain}

We begin by examining the sensitivity of AN-AQM to variations of the
neuron gain $K$. Figure \ref{K} presents the queue lengths for two
different $K$ values. First, in Figure \ref{K}
(a), we set $K=0.001$, which is 10 times lower than its default
value in Figure \ref{default}. Then, in Figure \ref{K} (b), we set
$K=0.1$, which is 10 times higher than its default value in Figure
\ref{default}. Comparing these figures, one can observe similar
general behavior. The results demonstrate that AN-AQM is robust to
the neuron gain misconfiguration as it achieves
stability in all cases in a similar way.

\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom28}}
\end{center}
 \caption{Queue length variations for 800 TCP connections with different $K$: (a) $K=0.001$ (b) $K=0.1$}
 \label{K}
\end{figure}

\subsection{Sensitivity to learning rate gains}

Finally, we examine the sensitivity of AN-AQM to variations of the
learning rate. Figures \ref{d1}-\ref{d6} present the queue
lengths for changing learning rate $d_i$ (i=1,2,...,6) 10 times
lower and 10 times higher than its default value in Figure
\ref{default}, respectively. Again, the results demonstrate that
AN-AQM is robust to learning rate misconfiguration as it
achieves stability in all cases in a similar way.

\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom22}}
\end{center}
 \caption{Queue length variations for 800 TCP connections with different $d_1$: (a) $d_1=0.0001$ (b) $d_1=0.000001$ }
 \label{d1}
\end{figure}

\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom23}}
\end{center}
 \caption{Queue length variations for 800 TCP connections with different $d_2$: (a) $d_2=0.0001$ (b) $d_2=0.000001$ }
 \label{d2}
\end{figure}

\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom24}}
\end{center}
 \caption{Queue length variations for 800 TCP connections with different $d_3$: (a) $d_3=0.0001$ (b) $d_3=0.000001$ }
 \label{d3}
\end{figure}

\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom25}}
\end{center}
 \caption{Queue length variations for 800 TCP connections with different $d_4$: (a) $d_4=0.001$ (b) $d_4=0.00001$ }
 \label{d4}
\end{figure}

\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom26}}
\end{center}
 \caption{Queue length variations for 800 TCP connections with different $d_5$: (a) $d_5=0.001$ (b) $d_5=0.00001$ }
 \label{d5}
\end{figure}

\begin{figure}[thb]
\begin{center}
%%%%%%%%%%
\scalebox{0.6}{\includegraphics{Fig_infocom27}}
\end{center}
 \caption{Queue length variations for 800 TCP connections with different $d_6$: (a) $d_6=0.001$ (b) $d_6=0.00001$ }
 \label{d6}
\end{figure}


\section{Conclusions} %and Future Work
\label{concl}
We have introduced a novel AQM scheme called AN-AQM.
We have demonstrated by extensive simulations that AN-AQM
is able to maintain the queue length around the given target under
different traffic loading conditions and scenarios, different RTPTs, and
different bottleneck link capacities. Our numerous simulation
results have also demonstrated that AN-AQM is powerful, easy to
configure, and robust to bursty HTTP connections and non-responsive
UDP connections. We have moreover demonstrated that AN-AQM is
insensitive to parameter misconfiguration. Comparison with other
well-known AQM schemes has demonstrated the superiority of AN-AQM in
achieving faster convergence to the target queue length, and then
maintaining the queue length close to the target with smaller
jitter. The results look so promising that our methodology may
eventually lead to a stable and efficient Internet.


\section*{Acknowledgments}
This work was jointly supported by grants from the Australian
Research Council (Grant Number DP0559131), the Natural Science
Foundation (No. 60974129, No. 70931002), and the Natural Science
Foundation of Jiangsu Province, China (No. BK2009388), and City
University of Hong Kong (Project No. 9380044).

\begin{thebibliography}{1}

\bibitem{RFC793}
J.~Postel, ``{RFC-793}: Transmission control protocol,'' (1981).

\bibitem{Sync}
T.~Bonald, M.~May, and J.~C. Bolot, ``Analytic evaluation of {RED}
  performance,'' in \emph{Proc. IEEE INFOCOM '00}, (Tel Aviv, Israel,
  2000) pp. 1415--1424.

\bibitem{RFC2309}
B.~Braden \emph{et~al.}, ``Recommendations on queue management and congestion
  avoidance in the {Internet},'' (1998) {IETF} RFC2309.

\bibitem{Hollot2001}
C.~V. Hollot, V.~Misra, D.~Towsley, and W.~B. Gong, ``On designing improved
  controllers for {AQM} routers supporting {TCP} flows,'' in \emph{Proc. IEEE
  INFOCOM '01}, (Anchorage, AK, USA 2001) pp. 1726--1734.

\bibitem{Ryu2003}
S.~Ryu, C.~Rump, and C.~Qiao, ``A predictive and robust active queue management
  for {Internet} congestion control,'' in \emph{Proc. IEEE ISCC '03},
  (Kemer Antalya, Turkey, 2003)  pp. 991--998.

\bibitem{LQR}
D.~Agrawal and F.~Granelli, ``Redesigning an active queue management system,''
  in \emph{Proc. IEEE GLOBECOM '04}, (Dallas, TX USA 2004), pp. 702--706.

\bibitem{REM}
S.~Athuraliya, S.~H. Low, V.~H. Li, and Q.~Yin, ``{REM}: Active queue
  management,'' \emph{IEEE Netw.}, {\bf 15}(3) (2001) 48--53.

\bibitem{DRED}
J.~Aweya, M.~Ouellette, and D.~Y. Montuno, ``A control theoretic approach to
  active queue management,'' \emph{Computer Networks}, {\bf 36}(2-3) (2001)
  203--235.

\bibitem{Pole}
Q.~Chen and O.~W.~W. Yang, ``On designing self-tuning controller for {AQM}
  routers supporting {TCP} flows based on pole placement,'' \emph{IEEE J. Sel.
  Areas Commun.}, {\bf 22}(10) (2004) 1965--1974.

\bibitem{Blue}
W.~Feng, D.~Kandlur, D.~Saha, and K.~Shin, ``The blue queue management
  algorithms,'' \emph{IEEE/ACM Trans. Netw.}, {\bf 20}(4) (2002) 513--528.

\bibitem{ARED}
S.~Floyd, R.~Gummadi, and S.~Shenker, ``Adaptive {RED}: An algorithm for
  increasing the robustness of {RED},'' (2001). [Online]. Available:
  \url{http://www.icir.org/floyd/papers/adaptiveRed.pdf}

\bibitem{RED}
S.~Floyd and V.~Jacobson, ``Random early detection gateways for congestion
  avoidance,'' \emph{IEEE/ACM Trans. Netw.}, {\bf 1}(4) (1993) 397--413.

\bibitem{AVQ}
S.~S. Kunniyur and R.~Srikant, ``An adaptive virtual queue ({AVQ}) algorithm
  for active queue management,'' \emph{IEEE/ACM Trans. Netw.}, {\bf 12}(2) (2004) 286--299.

\bibitem{nonlinear}
P.~Ranjan, E.~H. Abed, and R.~J. La, ``Nonlinear instabilities in
  {TCP}-{RED},'' \emph{IEEE/ACM Trans. Netw.}, {\bf 12}(6) (2004) 1079--1092.

\bibitem{large-delay}
F.~Ren, C.~Lin, and B.~Wei, ``A robust active queue management algorithm in
  large delay networks,'' \emph{Comput. Commun.}, {\bf 28}(5) (2005) 485--493.

\bibitem{PD-RED}
J.~Sun, K.~T. Ko, G.~Chen, S.~Chan, and M.~Zukerman, ``{PD}-{RED}: to improve
  the performance of {RED},'' \emph{IEEE Commun. Lett.}, {\bf 7}(8) (2003) 406--408.

\bibitem{PD}
J.~Sun, G.~Chen, K.~T. Ko, S.~Chan, and M.~Zukerman, ``{PD}-controller: A new
  active queue management scheme,'' in \emph{Proc. IEEE GLOBECOM'03},
  (San Francisco, USA 2003) pp. 3103--3107.

\bibitem{JSUN}
J.~Sun, M.~Zukerman, K.~T. Ko, G.~Chen, and S.~Chan, ``Effect of large buffers
  on {TCP} queueing behavior,'' in \emph{Proc. IEEE INFOCOM '04}, (Hong
  Kong, 2004) pp. 751--761.

\bibitem{Green}
B.~Wydrowski and M.~Zukerman, ``{GREEN}: An active queue management algorithm
  for a self managed internet,'' in \emph{Proc. IEEE ICC '02}, (New York, USA 2002)
  pp. 2368--2372.

\bibitem{RAQM}
C.~Wang, B.~Li, Y.~T. Hou, K.~Sohraby, and K.~Long, ``A stable rate-based
  algorithm for active queue management,'' \emph{Comput. Commun.}, {\bf 28}(15) (2005) 1731--1740.

\bibitem{Rigators2008}
G.~G. Rigators, ``Adaptive fuzzy control with output feedback for
  ${H}_{\infty}$ tracking of {SISO} nonlinear systems,'' \emph{Int. J. Neural
  Syst.}, {\bf 18}(4) (2008) 305--320.

\bibitem{Suresh2008}
S.~Suresh, N.~Kannan, N.~Sundarajan, and P.~Saratchandran, ``Neural adaptive
  control for vibration suppression in composite fin-tip of aircraft,''
  \emph{Int. J. Neural Syst.}, {\bf 18}(3) (2008) 219--231.

\bibitem{Theodoridis2010}
D.~Theodoridis, Y.~Boutalis, and M.~Christodoulou, ``Indirect adaptive control
  of unknown multi variable nonlinear systems with parametric and dynamic
  uncertainties using a new neuro-fuzzy system description,'' \emph{Int. J.
  Neural Syst.}, {\bf 20}(2) (2010) 129--148.

\bibitem{Coward2001}
A.~Coward, T.~Gedeon, and W.~Kenworthy, ``Application of the recommendation
  architecture to telecommunications network management,'' \emph{Int. J. Neural
  Syst.}, {\bf 11}(4) (2010) 323--327.

\bibitem{Hariri2007}
B.~Hariri and N.~Sadati, ``{NN-RED}: an {AQM} mechanism based on neural
  networks,'' \emph{Electronics Letters}, {\bf 43}(19) (2007) 1053--1055.
  2007.

\bibitem{sun-IFIP}
J.~Sun and M.~Zukerman, ``An adaptive neuron {AQM} for a stable internet,'' in
  \emph{Proceedings of IFIP Networking '07}, (Atlanta, USA 2007).

\bibitem{neuron_pid1}
Y.~Du and N.~Wang, ``A {PID} controller with neuron tuning parameters for
  multi-model plants,'' in \emph{2004 International Conference on Machine
  Learning and Cybernetics}, (Shanghai, China, 2004), pp.
  3408--3411.

\bibitem{neuron_pid4}
J.~Zhang, S.~Wang, and N.~Wang, ``A new intelligent coordination control system
  for a unit power plant,'' in \emph{Proceedings of the 3rd World Congress on
  Intelligent Control and Automation}, (Hefei, China,  2000),
  pp. 313--317.

\bibitem{NS}
``The {NS} simulator and the documentation.'' [Online]. Available:
  \url{http://www.isi.edu/hsnam/ns/}

\bibitem{QoS}
B.~Wydrowski and M.~Zukerman, ``{QoS} in best-effort networks,'' \emph{IEEE
  Commun. Mag.}, {\bf 40}(12) (2002) 44--49.

\end{thebibliography}

% that's all folks
\end{document}
